package object3;

/**
 * main方法
 */
public class Main01 {

    private static String name = "lmy";

    private int n1 = 10000;

    //静态方法
    public static void hi() {
        System.out.println("Main01 的 hi 方法");
    }

    //非静态方法
    public void cry() {
        System.out.println("Main01 的 cry 方法");
    }

    public static void main(String[] args) {

        /*
            1)main方法时虚拟机调用
            2)Java虚拟机需要调用类的main()方法，所以该方法的访问权限必须是public
            3)Java虚拟机在执行main()方法时不必创建对象，所以该方法必是static
            4)该方法接收String类型的数组参数，该数组中保存执行java命令时传递给所运行的类的参数
            5)Java 执行的程序 参数1 参数2 参数3
         */
        System.out.println("name = " + name);
        hi();

        //System.out.println("n1" + n1);//静态方法main不能访问本类的非静态成员
        //cry();

        //静态方法 main 要访问本类的非静态成员，需要先创建对象，再调用
        Main01 main01 = new Main01();
        System.out.println(main01.n1);
        main01.cry();
    }
}

